package part19;

import java.text.DateFormat;
import java.util.Date;

/**
 * @author wcj
 * @Date 2021/6/5 20:04
 * @Version 1.0
 */
public class Part1910 {
}

enum ConstantSpecificMethod {

    DATA_TIME {
        @Override
        String getInfo() {
            return DateFormat.getDateInstance().format(new Date());
        }
    },
    CLASSPATH {
        @Override
        String getInfo() {
            return System.getenv("CLASSPATH");
        }
    },
    VERSION {
        @Override
        String getInfo() {
            return System.getenv("java.version");
        }
    };

    /**
     * Enum有一个特性，即可以为每一个Enum实例定义一个方法，来赋予其不同的行为，但是这样做需要在Enum中定义一个或者多个抽象方法
     *
     * @return
     */
    abstract String getInfo();

    public static void main(String[] args) {
        for (ConstantSpecificMethod value : values()) {
            System.out.println(value.getInfo());
        }
    }
}
